An operating system is a software program or a collection of software programs that operate on a computer to provide a platform on which software applications can execute. Further, operating systems typically perform essential functions required to maintain proper operation of software applications executing on the computer. However, some software applications may experience error conditions. For instance, a software error or crash can cause other software executing on the computer to cease execution of program instructions. A software developer or systems administrator may correct a defect in a software program to improve reliability and performance of the software program. In order to correct the defect in the software program, software developers typically employ a variety of methods or tools. One such tool is generation of a memory dump or system dump.
A memory dump is a recorded state of memory of a software program, typically when the software program experiences a crash. In addition, memory dump generation can serve as a useful debugging aid for identifying the cause of the software program crash. A memory dump can be generated in the following scenarios: manual memory dump generation by a user or systems administrator, automatic generation of a memory dump by an operating system, and/or automatic generation of a memory dump by a software program that experiences crash or error. Further, the time needed to perform a memory dump for a large address space of memory can be long or consuming. For example, sometimes memory dumps are taken for diagnostic purposes, not because of a system crash, and while the memory dump is performed, the software program cannot operate since it might alter memory of an address space that is to be dumped.